Auto Perform beta v0.1(9/11/09) by Kamel

-------------------------

Changelog:
v0.1b: Initial release

-------------------------

About:

This is a small mIRC script written for the purpose of having a much more advanced and clean way to handle performing certain events automatically. mIRC comes with a built in functionality to do this, but unfortunately it is very limited.

Depending on the current state of the script (aka if it is enabled or disabled), it will issue every command found inside the .perf files. These files are plain text files which are named according to their execution time. Any *.global.perf file is a global file, meaning it will be executed on every single network. The commands found in startup.global.perf for example will be started when mIRC is first loaded assuming the script is enabled and operating normally. The commands found in loggedin.global.perf however will be executed when you have successfully logged in to nickserv on any network. The file freenode.loggedin.perf will execute when logged in to nickserv on the freenode network. Any network name can be used, and all it takes is to create your own text file containing the proper commands and named properly. For example, one could make someprivatenetwork.connect.perf and the script would execute the commands contained in that file when it successfully connects to the network "someprivatenetwork". In order to see the name of your irc network, simply type in the window //echo -a $network

-------------------------

Installation:

Place the folder wherever you like (I would recommend just placing it inside your mIRC folder, or addons folder if you have one). Next, type the command:

 /load -rs path\to\autoperform\autoperform.mrc

Remember, if mIRC asks you to allow the script to be loaded or run startup commands, please select yes in order to ensure proper script operation.

Type /autoperf in any window to access the help menu.

-------------------------

Notes:

This script does not, and will never work with networks which do not report the network name. The only time you should ever run into this is when you are on an extremely old IRCD, or the network administrator is quite lazy. There are a few workarounds for this people have come up with over the years. One of my personal favorites is an alias replacement for the built in alias $network. Try this:

/alias network { if ($network) return $network | else return $gettok($server,-2,46) }

Just type that in any window, it should provide a fix.

This script probably would not work with an irc network named "global". This is my fault, and I wont lie, it wasn't a mistake either, I just did not feel like coming up with a better way of dealing with this problem. It *may* work with networks named global, as I did make *some* attempt to make it play well, but I have my doubts. If you are using an irc network with the name global, please report back as to how well it is working.

In future releases, the configuration will be more elegant. I apologize for the rather difficult to understand 'enabled' levels. I just had a need for disabling global events and originally I had intended on global events to always happen, no matter what. I later decided that was a bad idea (specifically, I found my configuration was trying to identify to nickserv on servers that don't have nickserv, essentially giving out my password). I also strongly prefer the customization ability with this method.


-------------------------
Credits:

Thanks to donationcoder.com, my motivation to make this was due to them. Excellent people, to say the very least.

